package com.candy.excp;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;

public class Test01 {

    public static void main(String[] args) {
        test04();
    }

    /**
     * 手动制造异常，用于方法之间的通信
     *
     */
    public static void test04() {
        int a=6;
        if(a==6){
            throw new NullPointerException();
        }

    }

    public static void test03() {
        try{
            test02();
        }catch (ArithmeticException e){
            System.out.println("分母 为0");
        }
    }



    /**
     * 向上抛出，由上层调用者进行处理
     * @throws ArithmeticException
     */
    public static void test02() throws ArithmeticException{
        int a=9;
        int b=0;
        System.out.println(a/b);

    }

    /**
     * 手动捕获异常
     */
    public static void test01() {
        try{
            //        运行时异常
            int a=9;
            int b=3;
            System.out.println(a/b);
        //        编译时异常
//            FileInputStream file=new FileInputStream("");
        }catch(ArithmeticException e){
            System.out.println("出现了分母为0异常");
        }
//        catch (FileNotFoundException e){
//            System.out.println("文件未找到异常");
//        }
        catch (Exception e){
            System.out.println("代码发生了异常");
        }finally {
            System.out.println("无论是否发生异常都会被执行");
        }

    }
}
